package leetcode_ago.LinearList;
/**
 * 输入两个链表，找出它们的第一个公共节点
 * 即Num160:判断是否相交链表，返回相交链表的起始节点：
 * 保留链表原始结构：所以不能改了headAheadB
 */
public class NumJZ52_FindIntersrctNode {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        ListNode node1=headA;
        ListNode node2=headB;
        while(node1!=node2){
            node1=node1==null?headB:node1.next;
            node2=node2==null?headA:node2.next;
        }
        //node1==node2,两种情况
        //1.同时空，return node1就是return null了
        //2.或者同时到达交点，return node1就是return交点，即第一个公共节点
        return node1;
    }
}
